
<!DOCTYPE html>
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>TestCommitWithDisconnectionAndRecover -- PASS</title>
  <style>
  table {
    font-family: "Courier New";
    border-collapse: collapse;
  }

  table, th, td {
    padding: 8px;
    border: 1px solid #cccccc;
  }

  td.testcell {
    background-color: #ffffff;
  }

  td.Follower {
    background-color: #ffffff;
  }

  td.Candidate {
    background-color: #e2e2a3;
  }

  td.Leader {
    background-color: #e6fff5;
  }

  td.Dead {
    background-color: #dddddd;
  }

  h1 {
    text-align: center;
  }
  </style></head>
  
<body>
  <h1>TestCommitWithDisconnectionAndRecover -- PASS</h1>
  <p></p>
  <table>
    <tbody><tr>
      
      <th>Time</th>
      
      <th>TEST</th>
      
      <th>0</th>
      
      <th>1</th>
      
      <th>2</th>
      
    </tr>
    
    <tr>
      <td>14:41:32.573318</td>  <td class="testcell"></td>  <td class="Follower">listening at [::]:52181</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:32.573664</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">listening at [::]:52182</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:32.573804</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Follower">listening at [::]:52183</td>
    </tr>
    
    <tr>
      <td>14:41:32.575853</td>  <td class="testcell"></td>  <td class="Follower">election timer started (263ms), term=0</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:32.575758</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (291ms), term=0</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:32.575774</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (258ms), term=0</td>
    </tr>
    
    <tr>
      <td>14:41:32.837188</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">becomes Candidate (currentTerm=1); log=[]</td>
    </tr>
    
    <tr>
      <td>14:41:32.837687</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">sending RequestVote to 1: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.837868</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">sending RequestVote to 0: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.837719</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">election timer started (260ms), term=1</td>
    </tr>
    
    <tr>
      <td>14:41:32.841867</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">RequestVote: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1} [currentTerm=0, votedFor=-1, log index/term=(-1, -1)]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.841987</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">... term out of date in RequestVote</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.842005</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">becomes Follower with term=1; log=[]</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.842370</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">... RequestVote reply: &amp;{Term:1 VoteGranted:true}</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.842446</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (269ms), term=1</td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.843122</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">received RequestVoteReply {Term:1 VoteGranted:true}</td>
    </tr>
    
    <tr>
      <td>14:41:32.843108</td>  <td class="testcell"></td>  <td class="Follower">RequestVote: {Term:1 CandidateId:2 LastLogIndex:-1 LastLogTerm:-1} [currentTerm=0, votedFor=-1, log index/term=(-1, -1)]</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.843164</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Candidate">wins election with 2 votes</td>
    </tr>
    
    <tr>
      <td>14:41:32.843190</td>  <td class="testcell"></td>  <td class="Follower">... term out of date in RequestVote</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.843236</td>  <td class="testcell"></td>  <td class="Follower">becomes Follower with term=1; log=[]</td>  <td class="Follower"></td>  <td class="Candidate"></td>
    </tr>
    
    <tr>
      <td>14:41:32.843229</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">becomes Leader; term=1, nextIndex=map[0:0 1:0], matchIndex=map[0:-1 1:-1]; log=[]</td>
    </tr>
    
    <tr>
      <td>14:41:32.843418</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.843419</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.843589</td>  <td class="testcell"></td>  <td class="Follower">... RequestVote reply: &amp;{Term:1 VoteGranted:true}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.843745</td>  <td class="testcell"></td>  <td class="Follower">election timer started (185ms), term=1</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.844304</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">received RequestVoteReply {Term:1 VoteGranted:true}</td>
    </tr>
    
    <tr>
      <td>14:41:32.844340</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">while waiting for reply, state = Leader</td>
    </tr>
    
    <tr>
      <td>14:41:32.845792</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.845980</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.846045</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">in election timer term changed from 0 to 1, bailing out</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.846204</td>  <td class="testcell"></td>  <td class="Follower">in election timer term changed from 0 to 1, bailing out</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.846389</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:0 1:0], matchIndex := map[0:-1 1:-1]; commitIndex := -1</td>
    </tr>
    
    <tr>
      <td>14:41:32.848485</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">in election timer state=Leader, bailing out</td>
    </tr>
    
    <tr>
      <td>14:41:32.848544</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[] LeaderCommit:-1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.849184</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.850251</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:0 1:0], matchIndex := map[0:-1 1:-1]; commitIndex := -1</td>
    </tr>
    
    <tr>
      <td>14:41:32.877232</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">Submit received by Leader: 5</td>
    </tr>
    
    <tr>
      <td>14:41:32.877479</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">... log=[{5 1}]</td>
    </tr>
    
    <tr>
      <td>14:41:32.877531</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">Submit received by Leader: 6</td>
    </tr>
    
    <tr>
      <td>14:41:32.877780</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">... log=[{5 1} {6 1}]</td>
    </tr>
    
    <tr>
      <td>14:41:32.877893</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.877891</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.877901</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.877922</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.879848</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.879958</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">... inserting entries [{5 1} {6 1}] from index 0</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880008</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">... log is now: [{5 1} {6 1}]</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880242</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880487</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:0 1:2], matchIndex := map[0:-1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.880559</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">leader sets commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.880500</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880607</td>  <td class="testcell"></td>  <td class="Follower">... inserting entries [{5 1} {6 1}] from index 0</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880597</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">commitChanSender entries=[{5 1} {6 1}], savedLastApplied=-1</td>
    </tr>
    
    <tr>
      <td>14:41:32.880659</td>  <td class="testcell"></td>  <td class="Follower">... log is now: [{5 1} {6 1}]</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880695</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">send on commitchan i=0, entry={5 1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.880741</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">send on commitchan i=1, entry={6 1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.880758</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.880764</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=0, args={Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.880773</td>  <td class="testcell">collectCommits(2) got {Command:5 Index:0 Term:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.880905</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.881057</td>  <td class="testcell">collectCommits(2) got {Command:6 Index:1 Term:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.881158</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.882316</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882381</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">... setting commitIndex=1</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882579</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882527</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882743</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:-1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882848</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882772</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">commitChanSender entries=[{5 1} {6 1}], savedLastApplied=-1</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.882904</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.882979</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">send on commitchan i=0, entry={5 1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.883054</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">send on commitchan i=1, entry={6 1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.883037</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.883070</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.883063</td>  <td class="testcell">collectCommits(1) got {Command:5 Index:0 Term:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.883138</td>  <td class="testcell">collectCommits(1) got {Command:6 Index:1 Term:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.883312</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.884336</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:-1 PrevLogTerm:-1 Entries:[{Command:5 Term:1} {Command:6 Term:1}] LeaderCommit:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884417</td>  <td class="testcell"></td>  <td class="Follower">... setting commitIndex=1</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884607</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884678</td>  <td class="testcell"></td>  <td class="Follower">commitChanSender entries=[{5 1} {6 1}], savedLastApplied=-1</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884756</td>  <td class="testcell"></td>  <td class="Follower">send on commitchan i=0, entry={5 1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884788</td>  <td class="testcell"></td>  <td class="Follower">send on commitchan i=1, entry={6 1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884804</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.884818</td>  <td class="testcell">collectCommits(0) got {Command:5 Index:0 Term:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.884883</td>  <td class="testcell">collectCommits(0) got {Command:6 Index:1 Term:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.931200</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.931200</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.934927</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.935260</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.935519</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.935747</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.935985</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.936190</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.982031</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.982035</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:32.983468</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.983630</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.983789</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:32.986639</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.986780</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:32.986961</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.033122</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.033121</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.039023</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.039034</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.039193</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.039191</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.039409</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.039455</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.083577</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.083589</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.089533</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.089559</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.089820</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.089837</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.089986</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.090054</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.128462</td>  <td class="testcell">Disconnect 0</td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.133680</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.133680</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.136378</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.136632</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.136878</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.183800</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.183802</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.188944</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.189300</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.189715</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.233870</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.233853</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.238032</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.238646</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.239120</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.283888</td>  <td class="testcell"></td>  <td class="Candidate">becomes Candidate (currentTerm=2); log=[{5 1} {6 1}]</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.283909</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.283947</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.284190</td>  <td class="testcell"></td>  <td class="Candidate">election timer started (235ms), term=2</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.284221</td>  <td class="testcell"></td>  <td class="Candidate">sending RequestVote to 1: {Term:2 CandidateId:0 LastLogIndex:1 LastLogTerm:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.284248</td>  <td class="testcell"></td>  <td class="Candidate">sending RequestVote to 2: {Term:2 CandidateId:0 LastLogIndex:1 LastLogTerm:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.285665</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.285991</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.286253</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.333972</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.333965</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.336860</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.337193</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.337513</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:2], matchIndex := map[0:1 1:1]; commitIndex := 1</td>
    </tr>
    
    <tr>
      <td>14:41:33.379417</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">Submit received by Leader: 7</td>
    </tr>
    
    <tr>
      <td>14:41:33.380048</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">... log=[{5 1} {6 1} {7 1}]</td>
    </tr>
    
    <tr>
      <td>14:41:33.380272</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.380287</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.383325</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.383501</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">... inserting entries [{7 1}] from index 2</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.383571</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">... log is now: [{5 1} {6 1} {7 1}]</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.383991</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.384424</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.384550</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">leader sets commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.384649</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=3, args={Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.384657</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.384876</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">commitChanSender entries=[{7 1}], savedLastApplied=1</td>
    </tr>
    
    <tr>
      <td>14:41:33.384948</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">send on commitchan i=0, entry={7 1}</td>
    </tr>
    
    <tr>
      <td>14:41:33.385050</td>  <td class="testcell">collectCommits(2) got {Command:7 Index:2 Term:1}</td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.390717</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.390861</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">... setting commitIndex=2</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.391266</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.391361</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">commitChanSender entries=[{7 1}], savedLastApplied=1</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.391409</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">send on commitchan i=0, entry={7 1}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.391449</td>  <td class="testcell">collectCommits(1) got {Command:7 Index:2 Term:1}</td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.391652</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.434896</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=3, args={Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.434896</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.439181</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.439567</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.439872</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.484852</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=3, args={Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.484852</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.486724</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.487195</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.487518</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.524425</td>  <td class="testcell"></td>  <td class="Candidate">becomes Candidate (currentTerm=3); log=[{5 1} {6 1}]</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.524709</td>  <td class="testcell"></td>  <td class="Candidate">election timer started (205ms), term=3</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.524759</td>  <td class="testcell"></td>  <td class="Candidate">sending RequestVote to 2: {Term:3 CandidateId:0 LastLogIndex:1 LastLogTerm:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.524848</td>  <td class="testcell"></td>  <td class="Candidate">sending RequestVote to 1: {Term:3 CandidateId:0 LastLogIndex:1 LastLogTerm:1}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.535084</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=3, args={Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.535101</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.536970</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.537431</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.537857</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.585116</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=3, args={Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.585469</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.588032</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.588385</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.588697</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.631016</td>  <td class="testcell">Reconnect 0</td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.635270</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 1: ni=3, args={Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.635342</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.640453</td>  <td class="testcell"></td>  <td class="Candidate">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.640835</td>  <td class="testcell"></td>  <td class="Candidate">AppendEntries reply: {Term:3 Success:false ConflictIndex:0 ConflictTerm:0}</td>  <td class="Follower"></td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.640886</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries: {Term:1 LeaderId:2 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.641091</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">AppendEntries reply: {Term:1 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>
    </tr>
    
    <tr>
      <td>14:41:33.641270</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 1 success: nextIndex := map[0:2 1:3], matchIndex := map[0:1 1:2]; commitIndex := 2</td>
    </tr>
    
    <tr>
      <td>14:41:33.641449</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Leader">term out of date in heartbeat reply</td>
    </tr>
    
    <tr>
      <td>14:41:33.641475</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">becomes Follower with term=3; log=[{5 1} {6 1} {7 1}]</td>
    </tr>
    
    <tr>
      <td>14:41:33.641560</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (215ms), term=3</td>
    </tr>
    
    <tr>
      <td>14:41:33.735213</td>  <td class="testcell"></td>  <td class="Candidate">becomes Candidate (currentTerm=4); log=[{5 1} {6 1}]</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.735450</td>  <td class="testcell"></td>  <td class="Candidate">election timer started (207ms), term=4</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.735466</td>  <td class="testcell"></td>  <td class="Candidate">sending RequestVote to 1: {Term:4 CandidateId:0 LastLogIndex:1 LastLogTerm:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.735595</td>  <td class="testcell"></td>  <td class="Candidate">sending RequestVote to 2: {Term:4 CandidateId:0 LastLogIndex:1 LastLogTerm:1}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.740437</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">RequestVote: {Term:4 CandidateId:0 LastLogIndex:1 LastLogTerm:1} [currentTerm=1, votedFor=2, log index/term=(2, 1)]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.740631</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">... term out of date in RequestVote</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.740675</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">becomes Follower with term=4; log=[{5 1} {6 1} {7 1}]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.741218</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">... RequestVote reply: &amp;{Term:4 VoteGranted:false}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.741598</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">election timer started (155ms), term=4</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.742348</td>  <td class="testcell"></td>  <td class="Candidate">received RequestVoteReply {Term:4 VoteGranted:false}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.742571</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower">in election timer term changed from 1 to 4, bailing out</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.742721</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">RequestVote: {Term:4 CandidateId:0 LastLogIndex:1 LastLogTerm:1} [currentTerm=3, votedFor=-1, log index/term=(2, 1)]</td>
    </tr>
    
    <tr>
      <td>14:41:33.742811</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">... term out of date in RequestVote</td>
    </tr>
    
    <tr>
      <td>14:41:33.742833</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">becomes Follower with term=4; log=[{5 1} {6 1} {7 1}]</td>
    </tr>
    
    <tr>
      <td>14:41:33.743085</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">... RequestVote reply: &amp;{Term:4 VoteGranted:false}</td>
    </tr>
    
    <tr>
      <td>14:41:33.743187</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">election timer started (195ms), term=4</td>
    </tr>
    
    <tr>
      <td>14:41:33.744071</td>  <td class="testcell"></td>  <td class="Candidate">received RequestVoteReply {Term:4 VoteGranted:false}</td>  <td class="Follower"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.752497</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Follower"></td>  <td class="Follower">in election timer term changed from 3 to 4, bailing out</td>
    </tr>
    
    <tr>
      <td>14:41:33.902605</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate">becomes Candidate (currentTerm=5); log=[{5 1} {6 1} {7 1}]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.902835</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate">election timer started (199ms), term=5</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.902829</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate">sending RequestVote to 0: {Term:5 CandidateId:1 LastLogIndex:2 LastLogTerm:1}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.902835</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate">sending RequestVote to 2: {Term:5 CandidateId:1 LastLogIndex:2 LastLogTerm:1}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.905994</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate"></td>  <td class="Follower">RequestVote: {Term:5 CandidateId:1 LastLogIndex:2 LastLogTerm:1} [currentTerm=4, votedFor=-1, log index/term=(2, 1)]</td>
    </tr>
    
    <tr>
      <td>14:41:33.906101</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate"></td>  <td class="Follower">... term out of date in RequestVote</td>
    </tr>
    
    <tr>
      <td>14:41:33.906121</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate"></td>  <td class="Follower">becomes Follower with term=5; log=[{5 1} {6 1} {7 1}]</td>
    </tr>
    
    <tr>
      <td>14:41:33.906332</td>  <td class="testcell"></td>  <td class="Candidate">RequestVote: {Term:5 CandidateId:1 LastLogIndex:2 LastLogTerm:1} [currentTerm=4, votedFor=0, log index/term=(1, 1)]</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.906427</td>  <td class="testcell"></td>  <td class="Candidate">... term out of date in RequestVote</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.906407</td>  <td class="testcell"></td>  <td class="Candidate"></td>  <td class="Candidate"></td>  <td class="Follower">... RequestVote reply: &amp;{Term:5 VoteGranted:true}</td>
    </tr>
    
    <tr>
      <td>14:41:33.906450</td>  <td class="testcell"></td>  <td class="Follower">becomes Follower with term=5; log=[{5 1} {6 1}]</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.906488</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate"></td>  <td class="Follower">election timer started (291ms), term=5</td>
    </tr>
    
    <tr>
      <td>14:41:33.906670</td>  <td class="testcell"></td>  <td class="Follower">... RequestVote reply: &amp;{Term:5 VoteGranted:true}</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.906736</td>  <td class="testcell"></td>  <td class="Follower">election timer started (279ms), term=5</td>  <td class="Candidate"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907081</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">received RequestVoteReply {Term:5 VoteGranted:true}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907114</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Candidate">wins election with 2 votes</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907147</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">becomes Leader; term=5, nextIndex=map[0:3 2:3], matchIndex=map[0:-1 2:-1]; log=[{5 1} {6 1} {7 1}]</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907259</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">received RequestVoteReply {Term:5 VoteGranted:true}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907297</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">while waiting for reply, state = Leader</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907347</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.907353</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 2: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.911362</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.911647</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>14:41:33.912055</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 2 success: nextIndex := map[0:3 2:3], matchIndex := map[0:-1 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.912051</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.912539</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:false ConflictIndex:2 ConflictTerm:-1}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.913085</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 !success: nextIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.913130</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">in election timer state=Leader, bailing out</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.913330</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">in election timer term changed from 4 to 5, bailing out</td>
    </tr>
    
    <tr>
      <td>14:41:33.915898</td>  <td class="testcell"></td>  <td class="Follower">in election timer term changed from 4 to 5, bailing out</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.957752</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 2: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.957758</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=2, args={Term:5 LeaderId:1 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.960641</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:1 PrevLogTerm:1 Entries:[{Command:7 Term:1}] LeaderCommit:2}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.960823</td>  <td class="testcell"></td>  <td class="Follower">... inserting entries [{7 1}] from index 2</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.960879</td>  <td class="testcell"></td>  <td class="Follower">... log is now: [{5 1} {6 1} {7 1}]</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.960945</td>  <td class="testcell"></td>  <td class="Follower">... setting commitIndex=2</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.961307</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.961415</td>  <td class="testcell"></td>  <td class="Follower">commitChanSender entries=[{7 1}], savedLastApplied=1</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.961473</td>  <td class="testcell"></td>  <td class="Follower">send on commitchan i=0, entry={7 1}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.961526</td>  <td class="testcell">collectCommits(0) got {Command:7 Index:2 Term:5}</td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.961640</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:33.962524</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:33.962871</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>14:41:33.963200</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 2 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.007829</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 2: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.007829</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.009717</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.009752</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:34.010262</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.010435</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>14:41:34.010646</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.010748</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 2 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.057958</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.057958</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 2: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.063878</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.063993</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:34.064604</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.064833</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>14:41:34.065212</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 2 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.065350</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.108095</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.108095</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 2: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.109873</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.110292</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.110582</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.110808</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:34.111096</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>14:41:34.111319</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 2 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.158208</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 0: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.158208</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">sending AppendEntries to 2: ni=3, args={Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.163480</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>
    </tr>
    
    <tr>
      <td>14:41:34.163886</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>
    </tr>
    
    <tr>
      <td>14:41:34.164425</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries: {Term:5 LeaderId:1 PrevLogIndex:2 PrevLogTerm:1 Entries:[] LeaderCommit:2}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.165045</td>  <td class="testcell"></td>  <td class="Follower">AppendEntries reply: {Term:5 Success:true ConflictIndex:0 ConflictTerm:0}</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.165459</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 0 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.165628</td>  <td class="testcell"></td>  <td class="Follower"></td>  <td class="Leader">AppendEntries reply from 2 success: nextIndex := map[0:3 2:3], matchIndex := map[0:2 2:2]; commitIndex := 2</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184386</td>  <td class="testcell"></td>  <td class="Follower">CM.Stop called</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184432</td>  <td class="testcell"></td>  <td class="Dead">becomes Dead</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184457</td>  <td class="testcell"></td>  <td class="Dead">commitChanSender done</td>  <td class="Leader"></td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184534</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Leader">CM.Stop called</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184557</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead">becomes Dead</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184580</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead">commitChanSender done</td>  <td class="Follower"></td>
    </tr>
    
    <tr>
      <td>14:41:34.184659</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Follower">CM.Stop called</td>
    </tr>
    
    <tr>
      <td>14:41:34.184676</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">becomes Dead</td>
    </tr>
    
    <tr>
      <td>14:41:34.184698</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">commitChanSender done</td>
    </tr>
    
    <tr>
      <td>14:41:34.186649</td>  <td class="testcell"></td>  <td class="Dead"></td>  <td class="Dead"></td>  <td class="Dead">in election timer state=Dead, bailing out</td>
    </tr>
    
    <tr>
      <td>14:41:34.186922</td>  <td class="testcell"></td>  <td class="Dead">in election timer state=Dead, bailing out</td>  <td class="Dead"></td>  <td class="Dead"></td>
    </tr>
    
  </tbody></table>


</body></html>